home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 4_2005-2006.ISO / data / Zips / Voice_Appl1946061142005.psc / Voice Access / SysTray.bas < prev    next >
BASIC Source File  |  2005-10-28  |  1KB  |  52 lines

  1. Attribute VB_Name = "SysTray"
  2. 'The necessary code for putting a program in the system tray
  3.  
  4. Option Explicit
  5.  
  6. Public Type NOTIFYICONDATA
  7.      cbSize As Long
  8.      hwnd As Long
  9.      uId As Long
  10.      uFlags As Long
  11.      uCallBackMessage As Long
  12.      hIcon As Long
  13.      szTip As String * 64
  14. End Type
  15.  
  16. Public Const NIM_ADD = &H0
  17. Public Const NIM_MODIFY = &H1
  18. Public Const NIM_DELETE = &H2
  19. Public Const NIF_MESSAGE = &H1
  20. Public Const NIF_ICON = &H2
  21. Public Const NIF_TIP = &H4
  22.  
  23. Public Const WM_MOUSEMOVE = &H200
  24. Public Const WM_LBUTTONDBLCLK = &H203
  25. Public Const WM_LBUTTONDOWN = &H201
  26. Public Const WM_LBUTTONUP = &H202
  27.  
  28. Public Const WM_RBUTTONDBLCLK = &H206
  29. Public Const WM_RBUTTONDOWN = &H204
  30. Public Const WM_RBUTTONUP = &H205
  31.  
  32. Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, ptry As NOTIFYICONDATA) As Boolean
  33. Public Prog As NOTIFYICONDATA
  34.  
  35. Public Sub ShowInSysTray()
  36.     Prog.cbSize = Len(Prog)
  37.     Prog.hwnd = frmMain.hwnd
  38.     Prog.uId = vbNull
  39.     Prog.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
  40.     Prog.uCallBackMessage = WM_MOUSEMOVE
  41.     Prog.hIcon = frmMain.Icon
  42.     Prog.szTip = "Click here to record a command" & vbNullChar
  43.     Shell_NotifyIcon NIM_ADD, Prog
  44.     Shell_NotifyIcon NIM_MODIFY, Prog
  45. End Sub
  46.  
  47. Public Sub CloseSysTray()
  48. Shell_NotifyIcon NIM_DELETE, Prog
  49. End Sub
  50.  
  51.  
  52.